//
//  Optional.swift
//  Swift_base_grammar
//
//  Created by lantaiyuan on 2017/9/13.
//  Copyright © 2017年 lantaiyuan. All rights reserved.
//  可选项替换

import Foundation

func optional() {
    // var 的可选项默认值是 nil
    // let 的可选项没有默认值，必须要设置初始值
    let oldName:String?
    // 定义常量的时候，如果只指定了类型，没有设置初始值，可以有一次设置机会
    oldName = "隔壁老王"
    
    if oldName != nil {
        print(oldName! + "你好!")
    }
    
    // ?? 操作符号，可以判断之前的变量是否为 nil，如果为 nil，使用后面的替换
    print((oldName ?? "") + "尽干坏事")
    print("--------")
    
    //?? 运算符优先级低---后面的都不输出了
    print(oldName ?? "" + "隔壁老王红杏出墙!")
}
